\chapter{Špecifikácia}
\label{kap:specifikacia}

Ako sme si ozrejmili v predchádzajucej kapitole, nevidiaci používateľia väčšinou nemajú možnosť využívať funkcionalitu aplikácií plnohodnotne. Pretože je naša aplikácia určená práve týmto ľudom, musíme ju ich požiadavkám prispôsobiť. 
\newline 
V tejto časti si prejdeme konkrétne body, na ktoré sa pri vývoji programu musíme sústrediť, aby sme nevidiacim zabezpečili bezproblémovú interakciu s našou aplikáciou.

\section{Používateľské rozhranie}
Aplikácie pre nevidiacich a slabozrakých by mali mať čo najjednoduchšie používateľské rozhranie, bez zbytočných prvkov, s ktorými môže mať čítač obrazovky problém. Celá funkcionalita musí byť ovládateľná klávesnicou. Používateľ musí byť schopný zorientovať sa v ňom a nájsť hladané prvky rovako jednoducho ako vidiaci človek. 
\newline 
Najpodstatnejším a najvyužívanejším prvkom v používateľskom rozhraní našej aplikácie bude editačné viacriadkové pole, do ktorého bude používateľ písať príkazy. Na spodu obrazovky bude menšie okno, v ktorom sa budú zobrazovať chyby v programe. 
\newline 
Na vrchu aplikácie bude navigácia so záložkami Súbor, Nastavenia a Pomocník.
\begin{itemize}
\item V záložke Súbor si vie používateľ načítať existujúci súbor, uložiť si aktuálne rozpísaný kód alebo vytvoriť nový súbor. Všetky tieto akcie sa budú dať vyvolať aj pomocou klávesových skratiek.
\item V Nastaveniach bude možnosť zapnutia riadkovania, ktoré bude žiakom nápomocné hlavne pri debuggovaní. Taktiež bude možné nastaviť, či chceme aby nám aplikácia ponúkala kontextovú ponuku na dopĺňanie príkazov a možnosť nastavenia veľkosti písma.
\item Záložka Pomocník poskytne používateľovi rýchly prehľad príkazov a zvukov, ktoré môže použiť.
\end{itemize} 


\section{Vstup programu}
Vstupom programu bude zdrojový kód, teda text, ktorý žiak napísal do editačného viacriadkového poľa vo forme príkazov, premenných, čísel atď.
\newline 
Vstupný kód bude možné uložiť do súboru. Z uloženého súboru môže žiak svoj kód načítať a pokračovať v jeho editovaní alebo ho znovu spustiť. Súbory budú uložené s príponou .txt.

\section{Výstup programu}
Výstupom programu bude postupnosť zvukových efektov a syntetizovaného textu, ktorú žiak naprogramoval pomocou základných a rozšírených príkazov. 
\newline 
Ak bola počas interpretácie v kóde nájdená syntaktická chyba, ako výstup programu sa v textovom okne zobrazí informácia o chybe a konkrétnom riadku, kde chyba nastala. Tento výstup bude taktiež zvukovo oznámený čítačom obrazovky. 

\section{Špecifikácia jazyka}
Vzhľadom na to, že prostredie je určené pre nevidiacich žiakov, aj syntax jazyka im musíme prispôsobiť. 
\newline 
Príkazy budú v slovenskom jazyku, podobné prirodzenej reči a budú oddelené medzerou. Interpreter bude ignorovať prebytočné medzery. Telo príkazov nebude potrebné zapisovať do zátvoriek. V prípade príkazov, ktoré vo svojom tele obsahujú viacero príkazov, ako napríklad cyklus, bude telo ukončené príkazom koniec. 

